Comportamiento pruebas SABER 11
Exploración, análisis y acercamiento al comportamiento de los resultados: 2018 a 2020
1. Introducción
La prueba SABER 11 es un instrumento de evaluación estandarizada, que aplica el Estado Colombiano, con el cual se mide la calidad de la educación formal media. Esta prueba se aplica a quienes están terminando o han terminado el nivel de educación media. La prueba está dividida en cinco áreas de cococimiento: Lectura Crítica, Matemáticas, Ciencias Sociales y Ciudadanas, Ciencias Naturales e Inglés. Información más detallada acerca de la prueba se encuentra en la página del Instituto Colombiano para la Evaluación de la Educación - ICFES.Este documento pretende presentar los resultados de las pruebas aplicadas entre el año 2018 y 2020 partiendo de una exploración del conjunto de datos, detallando las variables que incluye y los principales parámetros estadísticos, posteriormente un análisis más detallado, desglosado por regiones geográficas, de las condiciones sociales, económicas y académicas de los estudiantes que presentaron la prueba, además de la los resultados de las prueba en cada uno de lo componentes. Finalmente se espera generar algunos modelos de clasificación que permitan explicar el comportamiento de los resultados de la prueba según las condiciones sociales, económicas y académicas de los estudiantes.
El conjunto de datos a utilizar en este documento está disponible en Kaggle, no obstante, en la página oficial del ICFES es posible descargar este conjunto de datos (además de otras de las pruebas de evaluación de la calidad de la educación formal que realiza el Estado Colombiano) previo registro para acceso al banco de datos. Los scripts ejecutados para el procesamiento de los datos así como el archivo de creación de este documento están disponibles en el repositorio GitHub
2. Exploración de los datos
2.1 Estructura del conjunto de datos
Para facilitar la maniulación y análisis, este conjunto de datos se divide en 6 subconjuntos de datos.
1) Estudiantes: incluye datos que caracterizan al estudiante, entre estos, lugar de residensia, género, colegio en el que estudia (o estudió).
2) Estudio: contiene datos del tiempo dedicado a la lectura, conectado a intenet, si el estudiante trabaja.
3) Socioeconómico: registra datos relacionados con la situación socioeconómica del estudiante como lo es el estrato de la vivienda en donde vive, la cantidad de personas que componen el hogar, datos del trabajo y nivel de escolaridad de los padres, alimentación, entre otros.
4) Resultados: detalla los resultados de la prueba saber en cada uno de sus componentes.
5) Colegios: incluye datos de los establecimientos educativos que están relacionados con al menos uno de los estudiantes que presenta la prueba.
6) Ubicación: datos de los departamenos y municipios del país, códigos y nombres de los entes territoriales.
Los nombres de las variables fueron modificados para facilitar su entendimiento.
2.1.1. Subconjunto ‘Estudiantes’
Este subconjunto se crea extrayendo 12 variables del dataset original, para algunas de estas se realizan modificaciones. Adicionalmente, se incluyen variables nuevas para facilitar su análisis:1) Se reescriben los valores disponibles en la columna 'Tipo_Documento', se eliminan las siglas y se incluye el nombre completo 2) Se incluye la fecha de presentación de la prueba. 3) Se calcula la edad de los estudiantes al momento de presentar la prueba comparando la fecha de nacimiento la fecha de nacimiento (disponible en el dataset original) y la fecha de la prueba. Antes de realizar el cálculo se verifican si existen missing values en las fechas, encontrando que no existen.
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1650063 entries, 0 to 1650062
Data columns (total 12 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Consecutivo_Est 1650063 non-null object
1 Periodo 1650063 non-null int64
2 Tipo_Documento 1650063 non-null object
3 Nacionalidad 1650063 non-null object
4 Genero 1649948 non-null object
5 Fecha_Nacimiento 1650063 non-null object
6 Pais_Residencia 1650063 non-null object
7 Etnia 1645775 non-null object
8 Cod_Departamento 1648767 non-null float64
9 Cod_Municipio 1648767 non-null float64
10 Cod_Icfes_Colegio 1650063 non-null int64
11 Privado_Libertad 1650063 non-null object
dtypes: float64(2), int64(2), object(8)
memory usage: 151.1+ MB
| Consecutivo_Est | Periodo | Tipo_Documento | Nacionalidad | Genero | Fecha_Nacimiento | Pais_Residencia | Etnia | Cod_Departamento | Cod_Municipio | Cod_Icfes_Colegio | Privado_Libertad |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading... (need help?) |
| Periodo | Fecha_Prueba |
|---|---|
| Loading... (need help?) |
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1650063 entries, 0 to 1650062
Data columns (total 14 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Consecutivo_Est 1650063 non-null object
1 Periodo 1650063 non-null int64
2 Tipo_Documento 1650063 non-null object
3 Nacionalidad 1650063 non-null object
4 Genero 1649948 non-null object
5 Fecha_Nacimiento 1650063 non-null object
6 Pais_Residencia 1650063 non-null object
7 Etnia 1645775 non-null object
8 Cod_Departamento 1648767 non-null float64
9 Cod_Municipio 1648767 non-null float64
10 Cod_Icfes_Colegio 1650063 non-null int64
11 Privado_Libertad 1650063 non-null object
12 Fecha_Prueba 1650063 non-null datetime64[ns]
13 Edad 1650063 non-null int64
dtypes: datetime64[ns](1), float64(2), int64(3), object(8)
memory usage: 176.2+ MB
| Consecutivo_Est | Periodo | Tipo_Documento | Nacionalidad | Genero | Fecha_Nacimiento | Pais_Residencia | Etnia | Cod_Departamento | Cod_Municipio | Cod_Icfes_Colegio | Privado_Libertad | Fecha_Prueba | Edad |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading... (need help?) |
Los resultados obtenidos muestran algún tipo de conflicto en la columna "Fecha_Nacimiento", la variable no 'aceptó' la modificación a dato tipo datetime. La revisión de los datos nulos (de todo el subconjunto) y la distribución de los datos de edades calculadas muestran lo siguiente:
| Edad | |
|---|---|
| Loading... (need help?) |
1) Cuatro variables presentan NaN (missing values o valores faltantes) de las cuales 'Etnia' es la de mayor cantidad, algunos estudiantes no tienen información de ubicación geográfica (lugar de residencia).
2) La variable calculada 'Edad' no presenta NaN, no obstante presenta datos incongruentes. Si bien el promedio de edad es de 22 años, la desviación estándar es de 93 años, dato que no presenta lógica en este contexto. Adicionalmente, se observa un valor máximo de edad de 2019, dato que resulta erroneo. Por otra parte, el valor mínimo en la edad es 0, lo cual implica datos no lógicos. Con estos datos se concluye que existen deficiencias en los datos de la variable 'Fecha_Nacimiento'.
1) Límite superior: 79 años. Si bien no existe un límite de edad como tal para la presentación de la prueba saber 11, es poco probable que ciudadanos con edades superiores a 79 años la presenten.
2) Límite inferior: 13 año. Al igual que el límite superior, podría presentarse que existan estudiantes menores de 13 años presentando la prueba saber, no obstante, se asume poco probable que un estudiante menor de 13 años este finalizando los estudios de bachillerato.
Vale la pena aclarar que esta decisiones podrían estar excluyendo valores reales y válidos de edad, no obstante, resulta complejo poder diferenciar los datos reales y no válidos.
| 0 | |
|---|---|
| Loading... (need help?) |
| Edad | |
|---|---|
| Loading... (need help?) |